<html>
    <body>
        <h1>统一建模语言理论考试</h1>
        <table>
        <tr>
            <td>考试科目：</td>
            <td>统一建模语言</td>
            <td>时间：</td>
            <td>100分钟</td>
            <td>得分：</td>
            <td><span id="score">100</span></td>
        </tr>
        <tr>
            <td>班级</td>
            <td><input type="text"></td>
            <td>学号：</td>
            <td><input type="text"></td>
            <td>姓名：</td>
            <td><input type="text"></td>
        </tr>
        </table>
        <h2>一、填空题（每空5分，共20分）</h2>
        <form action="">
            1.UML的中文全称是：<input type="text" id="t1" title="统一建模语言"><br>
            2.对象最突出的特征是：<input type="text" id="t2" title="封装性"><input type="text" id="t3" title="继承性"><input type="text" id="t4" title="多态性">
        <h2>二、选择题（每题10分，共20分）</h2>
        <p>1.UML与软件工程的关系是：</p>
        <form action="">
            <input type="radio" name="1" value="A">（A）UML就是软件工程<br>
            <input type="radio" name="1" value="B">（B）UNL参与到软件工程中软件开发过程的几个阶段<br>
            <input type="radio" name="1" value="C">（C）UML与软件工程无关<br>
            <input type="radio" name="1" value="D">（D）UML是软件工程的一部分<br>
        </form>
        <p>2.JAVA语言支持：</p>
        <form action="">
             <input type="radio" name="2" value="A">（A）单继承<br>
             <input type="radio" name="2" value="B">（B）多继承<br>
             <input type="radio" name="2" value="C">（C）单继承和多继承都支持   <br>
             <input type="radio" name="2" value="D">（D）单继承和多继承都不支持<br>
        </form>
        <h2>三、多选题（每题10分，共20分）</h2>
        <p>1.用例的粒度分为以下三种：</p>
        <form action="">
            <input type="checkbox" name="3" value="A">（A）概述级<br>
            <input type="checkbox" name="3" value="B">（B）需求级<br>
            <input type="checkbox" name="3" value="C">（C）用户目标级<br>
            <input type="checkbox" name="3" value="D">（D）子功能级<br>
        <p>类图由以下哪三个部分组成：</p>
            <input type="checkbox" name="4" value="A">（A）名称（Name）<br>
            <input type="checkbox" name="4" value="B">（B）属性（Attribute）<br>
            <input type="checkbox" name="4" value="C">（C）操作（Operation）<br>
            <input type="checkbox" name="4" value="D">（D）方法（Function）<br>
        </form>
        <h2>四、判断题（每题10分，共20分）</h2>
        <form action="">
        1.用例图只是用于和客户交流和沟通的，用于确定需求<input type="radio" name="5" value="1">√<input type="radio" name="5" value="0">×<br>
        2.在状态图中，终止状态在一个状态图中允许有任意多个<input type="radio" name="6" value="1">√<input type="radio" name="6" value="0">×<br>
        </form>
        <p>五、简答题（每题20分，共20分）</p>
        <P>1.简述什么是模型以及模型的表现形式？</P>
        <textarea cols="50" rows="10" name="7">
        </textarea><br>
        <input type="submit" value="计算分数" id='btnSubmit'> 
    </body>
    <script>
        let btn = document.getElementById("btnSubmit")
        btn.addEventListener("click",function(){
            let sum=0;
            //填空算分
            let collection=document.getElementById("t1");
            if(collection.value=="统一建模语言")
                {sum+=5;}
            collection=document.getElementById("t2");
            if(collection.value=="封装性")
                {sum+=5;}
            collection=document.getElementById("t3");
            if(collection.value=="继承性")
                {sum+=5;}
            collection=document.getElementById("t4");
            if(collection.value=="多态性")
                {sum+=5;}
            //单选算分
            collection=document.getElementsByName("1");
            for (let i=0;i<collection.length;i++)
            {
                if (collection[i].checked&&collection[i].value=="B")
                {sum+=10;}
            }
            collection=document.getElementsByName("2");
            for (let i=0;i<collection.length;i++)
            {
                if (collection[i].checked&&collection[i].value=="A")
                {sum+=10;}
            }
            // 多选算分
            // 多选第一题
            collection=document.getElementsByName("3");
            let collection1=[];
            for(let i=0;i<collection.length;i++)
            {
                if(collection[i].checked)
                {collection1.push(collection[i].value)}
            }
            if(collection1.toString()==["A","B","D"].toString())
                {sum+=10;}
            
            //多选第二题
            collection=document.getElementsByName("4");
            collection1=[];
            for(let i=0;i<collection.length;i++)
            {
                if(collection[i].checked)
                {collection1.push(collection[i].value)}
            }
            if(collection1.toString()==["A","B","C"].toString())
                {sum+=10;}
            // 判断题
            collection=document.getElementsByName("5");
            for(let i=0;i<collection.length;i++)
            {
                if(collection[i].checked&&collection[i].value=="0")
                {sum+=10;}
            }
            collection=document.getElementsByName("6");
            for(let i=0;i<collection.length;i++)
            {
                if(collection[i].checked&&collection[i].value=="1")
                {sum+=10;}
            }
            //简答题
            collection=document.getElementsByName("7")
            for(let i=0;i<collection.length;i++)
            {
                if(collection[i].value=="模型是对现实世界的简化和抽象，模型是对所研究的系统、过程、事物或概念的一种表达形式。可以是物理实体；可以是某种图形；或者是一种数学表达式。")
                sum+=20;
            }
            let score=document.getElementById("score");
            score.innerHTML=sum;
            alert("你的得分是："+sum);
        })
    </script>
</heml>